import type { ComponentProps, ElementType } from 'react';

/** Эти параметры обязательно должны быть в списке параметров. */
interface UiContainerSharedProps
  extends Pick<ComponentProps<'div'>, 'className' | 'children' | 'style'> {}

/** Непосредственно интерфейс, представляющий параметры компонента. */
export interface UiContainerProps extends UiContainerSharedProps {
  /**
   * Наш компонент может быть представлен ввиде любого HTML
   * тега, который имеет нужные нам параметры (className, children и т.д.).
   */
  as?: ElementType<UiContainerSharedProps>;

  /**  Максимально разрещенная ширина. */
  maxWidth?: string;

  /**  Отступы по бокам. */
  margin?: string;
}
